#include "nr_data.h"

nr_data::nr_data()
{
    m_time = QDateTime::currentDateTime();
}

nr_data::~nr_data()
{
}

nr_data* nr_data::create()
{
    nr_data* data = new nr_data();
    Q_ASSERT(data);
    
    data->add_ref();
    return data;
}

void nr_data::destroy(nr_data* data)
{
    delete data;
}

void nr_data::serialize(QDataStream& data_stream)
{
    data_stream << m_device_id;

    data_stream << m_args.count();

    for(QVariantHash::iterator it = m_args.begin();
        it != m_args.end(); ++it)
    {
        data_stream << it.key();
        data_stream << it.value();
    }
}

void nr_data::deserialize(QDataStream& data_stream)
{
    data_stream >> m_device_id;

    int count = 0;
    data_stream >> count;
    for(int i = 0; i < count; ++i)
    {
        QString key;
        QVariant val;

        data_stream >> key;
        data_stream >> val;

        m_args.insert(key, val);
    }

}

void nr_data::add_ref()
{
     
}

void nr_data::dec_ref()
{

}

nr_event::nr_event()
{

}

nr_event::~nr_event()
{

}

nr_event* nr_event::create()
{
    nr_event* evt = new nr_event();
    Q_ASSERT(evt);

    evt->add_ref();
    return evt;
}

void nr_event::destroy(nr_event* evt)
{
    delete evt;
}

void nr_event::add_ref()
{
}

void nr_event::dec_ref()
{
}
